import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vite.dev/config/
export default defineConfig({
  plugins: [react()],
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          // React 相关依赖
          react: ['react', 'react-dom'],
          // CodeMirror 编辑器
          codemirror: [
            'codemirror',
            '@codemirror/basic-setup',
            '@codemirror/lang-markdown',
            '@codemirror/state',
            '@codemirror/view',
            '@codemirror/theme-one-dark'
          ],
          // Markdown 解析和处理
          markdown: ['marked'],
          // 导出功能（大文件）
          export: ['html2canvas', 'jspdf'],
          // UI 组件库
          ui: ['lucide-react'],
          // 工具库
          utils: ['file-saver']
        }
      }
    },
    // 设置较大的 chunk 大小警告阈值，因为桌面应用对文件大小不如 Web 应用敏感
    chunkSizeWarningLimit: 800,
    // 压缩设置
    minify: 'terser',
    terserOptions: {
      compress: {
        drop_console: true, // 生产环境中移除console.log
        drop_debugger: true
      }
    }
  }
})
